package main

import (
	"os"

	"gitee.com/AlmondLee/gf-tools/http/aria"
	"gitee.com/AlmondLee/gf-tools/http/mail"
	. "gitee.com/AlmondLee/gf-tools/tst"

	"github.com/gogf/gf/frame/g"
	"github.com/gogf/gf/os/gfile"
)

// "gf-tools/tst"
// "gf-tools/http/clint"
// "gf-tools/tst"

// "gf-tools/mutex"
// . "gitee.com/AlmondLee/gf-tools/arg"
// . "gf-tools/arg"

// var (
// config = gredis.Config{
// Host: "127.0.0.1",
// Port: 6379,
// Db:	 1,
// }
// )
var err error

func main() {

	Err(mail.SendMail([]string{`754125579@qq.com`}, `hallo`, `god`))

	os.Exit(0)

	if r, err := g.Client().
		// SetHeader("User-Agent", this.UserAgent).
		// SetHeader("User-Agent", this.UserAgent).
		Get(os.Args[1]); err != nil {
		Fatal(err)
	} else {
		defer r.Close()
		// gfile.PutBytes("/Users/john/Temp/cover.png", r.ReadAll())
		// E(r.Response.Header)
		E(r.Response.StatusCode)
		// if r.Header.Get(`Accept-Ranges`) != `bytes` {
		// P(`服务端不允许以bytes的形式获取文件, 使用单线程下载`)
		// }
	} // fileName := filepath.Join(`/tmp`, `l.aria`)

	// E(fileName)
	// logs, err := gjson.Load(fileName, false)

	// logs, err := gjson.Load(fileName, false)
	//logs, err := gparser.LoadJson(gfile.GetBytes(fileName), false)
	//// tst.Warn(err)
	//Err(err)

	//logs.Set(`ts`, 2)

	g := aria.New(`http://192.168.12.1:2222/天气之子.mp4`, g.Map{
		`j`: 1,
	})
	// g := aria.New(`http://192.168.12.1:2222/%E5%A4%A9%E6%B0%94%E4%B9%8B%E5%AD%90.mp4`)
	// g := aria.New(`http://192.168.12.1:2222/2011.BluRay.1080P.mkv`)

	g.Dir = gfile.Pwd()
	E(g)
	// i := 122
	// For(12, func(id int) {
	//	fmt.Println(i, id)
	//	i--
	// })
	//E(logs.ToMap())
	//t, _ := logs.MarshalJSON()
	// err = gfile.PutBytes(fileName, []byte(`asd`))
	// err = gfile.PutBytes(fileName, nil)
	////gconv.String(inf))
	// Warn(err)
	//// tst.Pl(1)
	//il := make([]bool, 100000)
	//// il := make([]bool, 3)
	//// jl := make([]int, 5)
	//// for i := range jl {
	////	jl[i] = i
	//// }
	//lock := mutex.New()

	//// for i := range il {
	//for range il {
	//	go lock.SentCompleteSingnal()
	//	// go
	//	// tst.PD(i)
	//	// go lock.Lock()
	//	// go lock.Lock()
	//	// go lock.Lock()
	//	// lock.UnLock()
	//	// for range il {
	//	// go lock.UnLock()
	//	// go func(){
	//	// for	:= range jl {
	//	// for range jl {
	//	// go tst.E(jl, jl)
	//	// }
	//	// }()
	//	// go tst.Pl(i)
	//}

	//for i := range il {
	//	// lock.Lock()
	//	lock.WaitForComplete()
	//	fmt.Println(i)
	//}
	// lock.Lock()
	// tst.E()
	// time.Sleep(3e9)

	// Init(g.MapStrBool{
	//	"n,name":	  true,
	//	"v,version":  true,
	//	"a,arch":	  true,
	//	"o,os":		  true,
	//	"h,help":	  false,
	//	"logon":	  true,
	//	"a,admin":	  false,
	//	"p,password": true,
	//	// "hashgitee.com/AlmondLee/gitee.com/AlmondLee/gf-tools":	  true,
	//	// "j":		  true,
	//	// "p,path":	true,
	//	// "p,path":	true,
	//	// "p,path":	true,
	//	// "p,path":	true,
	//	// "p,path":	true,
	//	// "p,path":	true,
	//	// "p,path":	true,
	//	// "p,path":	true,
	//	// "p,path":	true,
	//	// "p,path":	true,
	//	// "p,path":	true,
	// })
	// // fmt.Println("vim-go")
	// logonInf := Parser.GetOpt(`logon`)
	// // glog.Println(logonInf)
	// tst.Pl(logonInf)
	// isHelp := Parser.ContainsOpt(`h`)
	// tst.Pl(isHelp)
	// // Parser.BindHandle("logon", logon)
	// Parser.BindHandle("hashadl", hashadl)
	// // Parser.BindHandle("curl", clint.Curl)
	// // Parser.BindHandle("", )
	// Parser.AutoRun()
	// Parser.AutoRun

	// WorkDir = gcmd.GetOpt(`work-dir`, os.Getenv("HOME")+`/object/rzh/`)
	// group := "fish-scaner-cli"
	// gredis.SetConfig(config, group)
	// redis := gredis.Instance(group)
	// defer redis.Close()

	// if gcmd.GetOpt(``)
	// _, err := redis.Do("SET", "k", "v")
	// if err != nil {
	//	panic(err)
	// }

	// r, err := redis.Do("GET", "k")
	// if err != nil {
	//	panic(err)
	// }
	// fmt.Println(gconv.String(r))
}

func logon() {

	E()
}

// func hashadl() {
//	passwordFile, err := os.Open(`/media/root/c9d1a56f-87fe-459c-8aed-eb4b2396815e1/hash/weakpass_2a`)
//	defer passwordFile.Close()

//	var lineCount uint64 = 65535

//	if err != nil {
//		panic(err)
//	}
//	// 4989964
//	weakpass_2a := bufio.NewReader(passwordFile)
//	var line uint64 = 0

//	go func() {
//		for {
//			password, err := weakpass_2a.ReadBytes('\n')
//			// _, err := weakpass_2a.ReadBytes('\n')
//			if err == io.EOF {
//				go log.Println(`password.txt doesn't match`)
//				break
//			}

//			// if line%
//			fmt.Println(float64(line) / float64(lineCount))
//			line++
//			go clint.Curl(line, string(password))
//			// if clint.Curl(string(password), conPool) {
//			// if {
//			// fmt.Fprintf(os.Stdout, "%s\n", password)
//			// break
//			// }
//		}
//	}()
//	for {
//		line := <-clint.ConPool
//		if line != 0 {
//			// panic(`panic`)
//			glog.Fatal(line)
//			// break
//		}
//		// fmt.Println(line)
//		// line++
//	}
//	// return
// }
